<?php
 Session_Start () ;
 Include_Once ("../../include/garennes.cfg") ;
 Include_Once ("../../include/init.php") ;
 Include_Once ("../include/config.inc") ;
 verif_droits ($droit_courant, $_SESSION ["code"]) ;
 
 $id_classe = var_courante ("id_classe", 0, 0) ;
 $periode = var_courante ("periode", 0, periode_actuelle ($id_classe)) ;
 $saisie = var_courante ("saisie", 0, 0) ;
 $submit = var_courante ("submit", 1, "") ;
 $rafraichissement = var_courante ("rafraichissement", 0, 0) ;
 $millesime = millesime (0) ;
 $id_util = utilparcode ($_SESSION ["code"]) ;
 
 If ($periode != 0) { $num_p = $periode ; } Else { $num_p = periode_valide ($id_classe) ; }
 
 // Gestion
 $resultats = SQL_commande ("SELECT coefficient_vs FROM classes WHERE id_classe='".$id_classe."' LIMIT 1", $id_sql) ;
 $gestion = SQL_ligne_suivante ($resultats) ;
 $type_saisie_cpe = type_saisie_vie_scolaire ($id_classe) ;
 
 // Parametres
 $id_cpe = utilparcode ($_SESSION ["code"]) ;
 $numen_cpe = SQL_commande ("SELECT numen FROM utilisateurs WHERE id_utilisateur='".$id_cpe."' LIMIT 1", $id_sql) ;
 $num_cpe = SQL_ligne_suivante ($numen_cpe) ;
 $effectif = effectif ($id_classe) ;
 
 // Verification du module absences
 $id_utilisateur = utilparcode ($_SESSION ["code"]) ;
 $ok = SQL_commande ("SELECT g.id_gestion_module FROM types_modules t,gestion_modules g
                       WHERE t.menu='abs_menus' AND t.actif='1' AND t.identifiant=g.identifiant AND g.droits='".$droit_courant."' AND (g.id_utilisateur='0' OR g.id_utilisateur='".$id_utilisateur."') LIMIT 1", $id_sql) ;
 $module_absences = 0 ;
 If (SQL_nbr_lignes ($ok) == 1)
  {
   If (File_Exists ("../../include/module_absences.cfg"))
    {
     $version_absences = File ("../../include/module_absences.version") ;
     If ($version_absences [0] == "0.5.0")
      {
       Include ("../../include/module_absences.cfg") ;
       Include ("../../include/module_absences.php") ;
       $module_absences = 1 ;
       $module_absences_maj = 0 ;
      }
     Else { $module_absences_maj = 1 ; }
    }
  }

 If ($module_absences == 1)
  {
   $unite_bulletin_absences = restaure_configuration_defaut ("MODULE_ABSENCES", "UNITES", "BUL_".$numero_saisie_abs."_".$id_util, $unite_comptabilisation) ;
   $unite_bulletin_retards = restaure_configuration_defaut ("MODULE_ABSENCES", "UNITES", "BUL_".$numero_saisie_ret."_".$id_util, $unite_comptabilisation) ;
  }
 Else
  {
   $unite_bulletin_absences = $unite_comptabilisation ;
   $unite_bulletin_retards = -1 ;
  }
 
 // Enregistrement de la saisie
 If (($saisie == 1) And ($submit == "Valider"))
  {
   If ($type_saisie_cpe == 1) { $nombre_car_max = 120 ; } Else { $nombre_car_max = 240 ; }
   For ($i = 0 ; $i < $effectif ; $i++)
    {
     If ($type_saisie_cpe < 3)
      {
       $abs = Round (var_courante ("abs_".$i, 0, 0)) ;
       $nj = Round (var_courante ("nj_".$i, 0, 0)) ;
       $ret = Round (var_courante ("ret_".$i, 0, 0)) ;
      }
     $obs = var_courante ("obs_".$i, 0, "") ;
     $id = Round (var_courante ("id_".$i, 0, 0)) ;
     $rep1 = Round (var_courante ("repere1_".$i, 0, 0)) ;
     $rep2 = Round (var_courante ("repere2_".$i, 0, 0)) ;
     $id_el = Round (var_courante ("id_el_".$i, 0, 0)) ;
     $note = var_courante ("note_".$i, 0, 0) ;
     $coeff = var_courante ("coeff_".$i, 0, $gestion [0]) ;
     
     $obs = filtrage (Str_Replace ("\n", " ", $obs)) ;
     If (!Is_Numeric ($note)) { $note = $code_aucune_note ; }
     If ($note < 0) { $note = -$note ; }
     If ($id_cpe == 0)
      {
       // Recherche du CPE pour la classe
       $rens = SQL_commande ("SELECT u.id_utilisateur,u.numen FROM classes c,eleves e,utilisateurs u WHERE e.id_eleve='".$id_el."' AND e.classe=c.id_classe AND c.cpe=u.id_utilisateur LIMIT 1", $id_sql) ;
       If (SQL_nbr_lignes ($rens) == 1)
        {
	 $r = SQL_lignes_suivante ($rens) ;
	 $id_cpe = $r [0] ;
	 $numen_cpe = $r [1] ;
	}
      }
     If ($id == 0)
      {
       // Insertion
       If (($type_saisie_cpe == 3) Or ($type_saisie_cpe == 4))
        {
         $ok = SQL_commande ("INSERT INTO vie_scolaire (cpe,numen_cpe,eleve,repere1,repere2,note,commentaire,coefficient,periode,millesime)
	                      VALUES ('".$id_cpe."','".$num_cpe [0]."','".$id_el."','".$rep1."','".$rep2."','".$note."','".SubStr ($obs, 0, $nombre_car_max)."','".$coeff."','".$periode."','".$millesime."')", $id_sql) ;
        }
       Else
        {
         $ok = SQL_commande ("INSERT INTO vie_scolaire (cpe,numen_cpe,eleve,repere1,repere2,absences,non_justifiees,retards,observations,periode,millesime)
		              VALUES ('".$id_cpe."','".$num_cpe [0]."','".$id_el."','".$rep1."','".$rep2."','".$abs."','".$nj."','".$ret."','".SubStr ($obs, 0, $nombre_car_max)."','".$periode."','".$millesime."')", $id_sql) ;
        }
      }
     Else
      {
       // Mise a jour
       If (($type_saisie_cpe == 3) Or ($type_saisie_cpe == 4))
        {
         $ok = SQL_commande ("UPDATE vie_scolaire SET cpe='".$id_cpe."',numen_cpe='".$num_cpe [0]."',note='".$note."',coefficient='".$coeff."',commentaire='".SubStr ($obs, 0, $nombre_car_max)."' WHERE id_vie_scolaire='".$id."' LIMIT 1", $id_sql) ;
        }
       Else
        {
         $ok = SQL_commande ("UPDATE vie_scolaire SET cpe='".$id_cpe."',numen_cpe='".$num_cpe [0]."',absences='".$abs."',non_justifiees='".$nj."',retards='".$ret."',observations='".SubStr ($obs, 0, $nombre_car_max)."' WHERE id_vie_scolaire='".$id."' LIMIT 1", $id_sql) ;
        }
      }
     If (($type_saisie_cpe == 3) Or ($type_saisie_cpe == 4))
      {
       $res = SQL_commande ("UPDATE calcul_moyenne SET ok='0',modification='".Date ("Y-m-d H:i:s")."'
                              WHERE classe='".$sp ["classe"]."' AND periode='".periode_valide ($id_classe)."' AND service_prof='".$id_service_prof."' AND service_classe='".$sp ["service_classe"]."' AND millesime='".$millesime."' LIMIT 1", $id_sql) ;
      }
    }
   $message = 1 ;
  }
 ElseIf (IsSet ($rafraichissement) And ($rafraichissement == 1) And ($module_absences == 1) And ($saisie == 1))
  {
   $eleves = SQL_commande ("SELECT * FROM eleves WHERE classe='".$id_classe."' AND exterieur='0' AND millesime='".$millesime."' ORDER BY nom,prenoms,login", $id_sql) ;
   $dates_periode = SQL_commande ("SELECT debut,fin FROM periodes_classe WHERE classe='".$id_classe."' AND numero='".$periode."' AND millesime='".$millesime."' LIMIT 1", $id_sql) ;
   If (SQL_nbr_lignes ($dates_periode) == 1)
    {
     // Recherche la periode
     $dp = SQL_ligne_suivante ($dates_periode) ;
     For ($i = 0 ; $i < SQL_nbr_lignes ($eleves) ; $i++)
      {
       $el = SQL_tableau_associatif ($eleves, "") ;
       // Recherche le nombre absences/non justifies/retards en demi-heure pour cet eleve
       If (Function_Exists ("nombre_absences_par_filtrage"))
        {
	 $unite_bulletin_absences = restaure_configuration_defaut ("MODULE_ABSENCES", "UNITES", "BUL_".$numero_saisie_abs."_".$id_util, $unite_comptabilisation) ;
         $unite_bulletin_retards = restaure_configuration_defaut ("MODULE_ABSENCES", "UNITES", "BUL_".$numero_saisie_ret."_".$id_util, -1) ;
	 // Absences totales (justifiees et non justifiees)
	 $modif ["absences"] = arrondi (nombre_absences_par_filtrage ($el ["id_eleve"], Array ($dp [0],$dp [1])), $unite_bulletin_absences, 1) ;
	 // Non justifiees
         $modif ["non_justifiees"] = arrondi (nombre_absences_non_regularisees ($el ["id_eleve"], Array ($dp [0],$dp [1])), $unite_bulletin_absences, 1) ;
	 // Retards
         If ($unite_bulletin_retards == -1) { $modif ["retards"] = nombre_retards_par_filtrage ($el ["id_eleve"], Array ($dp [0],$dp [1])) ; }
         Else { $modif ["retards"] = arrondi (nombre_retards_par_filtrage ($el ["id_eleve"], Array ($dp [0],$dp [1])), $unite_bulletin_retards, 1) ; ; }
	}
       Else
        {
	 // Recherche la periode
         $dates_periode = SQL_commande ("SELECT debut,fin FROM periodes_classe WHERE classe='".$id_classe."' AND numero='".$periode."' AND millesime='".$millesime."' LIMIT 1", $id_sql) ;
         If (SQL_nbr_lignes ($dates_periode) == 1)
          {
           $dp = SQL_ligne_suivante ($dates_periode) ;
           // Recherche le nombre absences/non justifies/retards en demi-heure pour cet eleve
           // Absences totales (justifiees et non justifiees)
           $nbr = SQL_commande ("SELECT COUNT(id_abs_saisie) FROM abs_saisies s,abs_types_saisie t WHERE s.date>='".$dp [0]."' AND s.date<='".$dp [1]."' AND s.eleve='".$el ["id_eleve"]."' AND t.type='1' AND t.id_abs_type_saisie=s.type", $id_sql) ;
           $r = SQL_ligne_suivante ($nbr) ;
           $modif ["absences"] = arrondi ($r [0], $unite_comptabilisation, 1) ;
           // Non justifiees
           $nbr = SQL_commande ("SELECT COUNT(id_abs_saisie) FROM abs_saisies s,abs_types_saisie t WHERE s.date>='".$dp [0]."' AND s.date<='".$dp [1]."' AND s.eleve='".$el ["id_eleve"]."' AND regularisation='0' AND t.type='1' AND t.id_abs_type_saisie=s.type", $id_sql) ;
           $r = SQL_ligne_suivante ($nbr) ;
           $modif ["non_justifiees"] = arrondi ($r [0], $unite_comptabilisation, 1) ;
           // Retards
           $nbr = SQL_commande ("SELECT COUNT(id_abs_saisie) FROM abs_saisies s,abs_types_saisie t WHERE s.date>='".$dp [0]."' AND s.date<='".$dp [1]."' AND s.eleve='".$el ["id_eleve"]."' AND t.type='2' AND t.id_abs_type_saisie=s.type", $id_sql) ;
           $r = SQL_ligne_suivante ($nbr) ;
           $modif ["retards"] = arrondi ($r [0], $unite_comptabilisation, 1) ;
           $ok = SQL_commande ("UPDATE vie_scolaire SET absences='".$modif ["absences"]."',non_justifiees='".$modif ["non_justifiees"]."',retards='".$modif ["retards"]."' WHERE eleve='".$el ["id_eleve"]."' AND periode='".$periode."' LIMIT 1", $id_sql) ;
          }
	}
       $ok = SQL_commande ("UPDATE vie_scolaire SET absences='".$modif ["absences"]."',non_justifiees='".$modif ["non_justifiees"]."',retards='".$modif ["retards"]."' WHERE eleve='".$el ["id_eleve"]."' AND periode='".$periode."' LIMIT 1", $id_sql) ;
      }
    }
  }
 
 $resultats = SQL_commande ("SELECT * FROM menus WHERE numero='".$droit_courant."' AND ordre='0'", $id_sql) ;
 $l = SQL_tableau_associatif ($resultats, "") ;
 Echo "<html><head>" ;
 entete_html ("Garennes", "", 1) ;
 Echo styles ("none", "none", "none", $l ["nom"], "none") ;
 Include ("./saisie.js") ;
 Echo "</head>" ;
 $choix = 0 ;
 If ($droit_courant == $droit_cpe) { If (valide_periode ($id_classe, $num_p)) { $saisie = 1 ; } Else { $saisie = 0 ; } }
 ElseIf (($droit_courant == $droit_direction) Or ($droit_courant == $droit_secretariat)) { $saisie = $choix = 1 ; }
 Echo "<BODY BACKGROUND=\"../images/fond.png\" TEXT=\"#000000\" onContextMenu=\"return false\">" ;
 Echo "<TABLE BORDER=\"0\" WIDTH=\"100%\" CELLSPACING=\"0\" CELLPADDING=\"0\">" ;
 Echo "<TR>" ;
 Echo "<TD>&nbsp;</TD>" ;
 Echo "<TD ALIGN=\"CENTER\"><FONT SIZE=\"+1\">Classe :&nbsp;<FONT COLOR=\"#0000FF\">" ;
 Echo nom_classe_long_parid ($id_classe)." (".nom_classe_bref_parid ($id_classe).")</FONT>&nbsp;pour&nbsp;le&nbsp;<FONT COLOR=\"#0000FF\">".$num_p."e&nbsp;".nom_periode ($id_classe)."</FONT></FONT></TD>" ;
 Echo "<TD ALIGN=\"RIGHT\"><A HREF=\"javascript:ouvrefenetre('./aide.php?aide=1&rep=".$_SESSION ["repertoire_config"]."',350,650,'yes');\" OLDREF><IMG SRC=\"../images/aide.png\" BORDER=\"0\"></A></TD>" ;
 Echo "</TR>" ;
 Echo "</TABLE>" ;
 If ($module_absences_maj == 1) { Echo "<center><font color=\"#ff0000\"><b>ATTENTION : Module absences &agrave; mettre &agrave; jour.</b></font></center><br>" ; }
 $debut_periode = deb_periode ($id_classe, $num_p) ;
 $fin_periode = fin_saisie_reelle ($id_classe, $num_p, 2) ;

 If ($choix == 0)
  {
   If ($saisie == 1)
    {
     Echo "<CENTER><B>Saisie du ".affiche_date ($debut_periode)." au ".affiche_date ($fin_periode)."</CENTER>" ;
     Echo "<form action=\"./saisie.php\" name=\"saisie\" method=\"post\">" ;
    }
   Else
    {
     Echo "<CENTER><B>Saisie termin&eacute;e depuis le ".affiche_date ($fin_periode)."</B></CENTER>" ;
    }
  }
 Else
  {
   // Choix de la periode
   $nom_periode = nom_periode ($id_classe) ;
   $periode_actuelle = periode_valide ($id_classe) ;
   Echo "<table border=\"0\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\"><tr><td>&nbsp;</td>" ;
   If (($periode_actuelle < 2) Or (($periode_actuelle == 2) And (valide_periode ($classe, periode_valide ($classe)))))
    {
     Echo "<td align=\"center\">&nbsp;<b>".$nom_periode."&nbsp;:&nbsp;".$periode."</b></td>" ;
    }
   Else
    {
     Echo "<td align=\"right\">&nbsp;<b>".StrToUpper (SubStr ($nom_periode, 0,1)).StrToLower (SubStr ($nom_periode, 1, StrLen ($nom_periode)-1))."&nbsp;&agrave;&nbsp;afficher&nbsp;:&nbsp;</b></td>" ;
     Echo "<form action=\"./saisie_notes.php\" name=\"change_periode\" method=\"post\" onSubmit=\"javascript:return valide_periode(0)\">" ;
     Echo "<input type=\"hidden\" name=\"id_classe\" value=\"".$id_classe."\">" ;
     Echo "<input type=\"hidden\" name=\"menu\" value=\"".$menu."\">" ;
     Echo "<input type=\"hidden\" name=\"code\" value=\"".$_SESSION ["code"]."\">" ;
     Echo "<td><select name=\"periode\" onChange=\"javascript:valide_periode(1)\">" ;
     For ($i = 1 ; $i <= $periode_actuelle ; $i++)
      {
       Echo "<option value=\"".$i."\"" ; If ($i == $periode) { Echo " selected" ; }
       Echo ">".$i."</option>" ;
      }
     Echo "</select></td><td><input type=\"image\" src=\"../images/valider.png\" name=\"submit\" value=\" Afficher \"></td></form>" ;
    }
   Echo "<td>&nbsp;</td></tr>" ;
   Echo "<form action=\"./saisie_notes.php\" name=\"saisie\" method=\"post\">" ;
   Echo "<input type=\"hidden\" name=\"menu\" value=\"".$menu."\">" ;
  }

 If (IsSet ($message) ANd ($message == 1))
  {
   Echo "<CENTER><FONT SIZE=\"-1\" COLOR=\"#FF0000\"><BLINK>Saisie enregistr&eacute;e !</BLINK></FONT></CENTER>" ;
  }
 Echo "<TABLE BORDER=\"0\" ALIGN=\"CENTER\" CELLSPACING=\"0\" CELLPADDING=\"0\">" ;
 Echo "<TR>" ;
 // Icones
 Echo "<TD ALIGN=\"LEFT\" vALIGN=\"TOP\"><BR><BR>" ;
 Echo "<A HREF=\"javascript:ouvrefenetre('./trombinoscope.php?id_classe=".$id_classe."&code=".$_SESSION ["code"]."',470,570,'yes');\"><IMG SRC=\"../images/trombinoscope.png\" TITLE=\"Trombinoscope de la classe\" BORDER=0></A>&nbsp;" ;
 Echo "<BR>" ;
 Echo "<A HREF=\"javascript:window.print();\"><IMG SRC=\"../images/imprimante.png\" TITLE=\"Imprimer la page\" BORDER=\"0\"></A>&nbsp;" ;
 Echo "</TD>" ;
 Echo "<TD><TABLE BORDER=\"1\" BGCOLOR=\"".$l ["couleur_fond"]."\" ALIGN=\"CENTER\" CELLSPACING=\"0\" CELLPADDING=\"5\" STYLE=\"border:1px #000000 solid;border-collapse:collapse\">" ;
  
 // ENTETES
 Echo "<TR BGCOLOR=\"".$l ["lien"]."\">" ;
 Echo "<TD ALIGN=\"LEFT\" vALIGN=\"MIDDLE\"" ; If (($type_saisie_cpe == 1) Or ((($type_saisie_cpe == 3) Or ($type_saisie_cpe == 4)) And ($module_absences == 1))) { Echo " ROWSPAN=\"3\"" ; }
 Echo "><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;&Eacute;l&egrave;ves&nbsp;</B>(Effectif&nbsp;:&nbsp;".effectif ($id_classe).")</FONT>&nbsp;" ;
 If (($saisie == 1) And ($module_absences == 1)) { Echo "&nbsp;<A HREF=\"./saisie.php?id_classe=".$id_classe."&periode=".$num_p."&saisie=1&rafraichissement=1\"><IMG SRC=\"../images/rafraichissement.png\" BORDER=\"0\"></A>" ; }
 Echo "</TD>" ;
 If ($type_saisie_cpe == 1)
  {
   $u1 = unite ($unite_bulletin_absences) ;
   $u2 = unite ($unite_bulletin_retards) ;
   Echo "<td colspan=\"3\">&nbsp;<font size=\"".$l ["titre"]."\">Abs:<b>".nom_profil_filtrage ($id_util, $numero_saisie_abs)."</b>&nbsp;en&nbsp;".$u1 [0]."<br>" ;
   Echo "&nbsp;Ret:<b>".nom_profil_filtrage ($id_util, $numero_saisie_ret)."</b>&nbsp;en&nbsp;".$u2 [0]."</font>&nbsp;</td>" ;
   
   Echo "<TD ALIGN=\"CENTER\" vALIGN=\"MIDDLE\" ROWSPAN=\"3\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Observations</B>" ;
   If ($saisie == 1) { Echo "<BR><I>120 caract&egrave;res (ou 2,5 lignes) maximum</I><BR><B><BLINK>La saisie sera inscrite sur le bulletin si elle est valid&eacute;e.</B></BLINK>" ; }
   Echo "&nbsp;</FONT></TD></TR>" ;
   
   Echo "<TR BGCOLOR=\"".$l ["lien"]."\"><TD ALIGN=\"CENTER\" COLSPAN=\"2\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Absences&nbsp;</B></FONT>&nbsp;</TD>" ;
   Echo "<TD ALIGN=\"CENTER\" vALIGN=\"MIDDLE\" ROWSPAN=\"2\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Nbr.<BR>Retards&nbsp;</B></FONT></TD></TR>" ;

   Echo "<TR BGCOLOR=\"".$l ["lien"]."\">" ;
   Echo "<TD ALIGN=\"CENTER\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Total&nbsp;</B></FONT></TD>" ;
   Echo "<TD ALIGN=\"CENTER\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Non<BR>&nbsp;just.&nbsp;</B></FONT></TD>" ;
   Echo "</TR>" ;
  }
 ElseIf ($type_saisie_cpe == 2)
  {
   Echo "<TD ALIGN=\"CENTER\" vALIGN=\"MIDDLE\" ROWSPAN=\"2\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Appr&eacute;ciations</B>" ;
   If ($saisie == 1) { Echo "<BR><I>240 caract&egrave;res (ou 5 lignes) maximum</I><BR><B><BLINK>La saisie sera inscrite sur le bulletin si elle est valid&eacute;e.</B></BLINK>" ; }
   Echo "&nbsp;</FONT></TD></TR>" ;
  }
 ElseIf (($type_saisie_cpe == 3) Or ($type_saisie_cpe == 4))
  {
   If ($module_absences == 1)
    {
     $u1 = unite ($unite_bulletin_absences) ;
     $u2 = unite ($unite_bulletin_retards) ;
     Echo "<td colspan=\"3\">&nbsp;<font size=\"".$l ["titre"]."\">Abs:<b>".nom_profil_filtrage ($id_util, $numero_saisie_abs)."</b>&nbsp;en&nbsp;".$u1 [0]."<br>" ;
     Echo "&nbsp;Ret:<b>".nom_profil_filtrage ($id_util, $numero_saisie_ret)."</b>&nbsp;en&nbsp;".$u2 [0]."</font>&nbsp;</td>" ;
    }
   Echo "<TD ALIGN=\"CENTER\"" ; If ($module_absences == 1) { Echo " rowspan=\"3\"" ; }
   Echo "><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Note&nbsp;</B><br><i>Coeff.&nbsp;:&nbsp;</i>".Str_Replace (".", ",", $gestion [0])."</FONT></TD>" ;
   Echo "<TD ALIGN=\"CENTER\" vALIGN=\"MIDDLE\"" ; If ($module_absences == 1) { Echo " rowspan=\"3\"" ; }
   Echo "><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Appr&eacute;ciations</B>" ;
   If ($saisie == 1) { Echo "<BR><I>240 caract&egrave;res (ou 5 lignes) maximum</I><BR><B><BLINK>La saisie sera inscrite sur le bulletin si elle est valid&eacute;e.</B></BLINK>" ; }
   Echo "&nbsp;</FONT></TD></TR>" ;
   If ($module_absences == 1)
    {
     Echo "<TR BGCOLOR=\"".$l ["lien"]."\"><TD ALIGN=\"CENTER\" COLSPAN=\"2\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Absences&nbsp;</B></FONT>&nbsp;</TD>" ;
     Echo "<TD ALIGN=\"CENTER\" vALIGN=\"MIDDLE\" ROWSPAN=\"2\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Nbr.<BR>Retards&nbsp;</B></FONT></TD></TR>" ;
     Echo "<TR BGCOLOR=\"".$l ["lien"]."\">" ;
     Echo "<TD ALIGN=\"CENTER\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Total&nbsp;</B></FONT></TD>" ;
     Echo "<TD ALIGN=\"CENTER\"><FONT SIZE=\"".$l ["titre"]."\"><B>&nbsp;Non<BR>&nbsp;just.&nbsp;</B></FONT></TD>" ;
     Echo "</TR>" ;
    }
   $min = 10000 ;
   $max = 0 ;
   $moyenne = 0 ;
   $nbr = 0 ;
  }
  
 // Eleves
 If ($type_saisie_cpe == 1) { $ligne_js = "<script type=\"text/javascript\">var nombre_car=120;" ; } Else { $ligne_js = "<script type=\"text/javascript\">var nombre_car=240;" ; }
 $ligne_js .= "function test_nombre_car(){" ;
 $eleves = SQL_commande ("SELECT * FROM eleves WHERE classe='".$id_classe."' AND exterieur='0' AND millesime='".$millesime."' ORDER BY nom,prenoms,login", $id_sql) ;
 For ($i = 0 ; $i < SQL_nbr_lignes ($eleves) ; $i++)
  {
   $el = SQL_tableau_associatif ($eleves, "") ;
   //Echo "<TR>" ;     
   // Icone d'acces a la fiche eleve
   Echo "<TR" ; If ($i % 2) { Echo " BGCOLOR=\"".$l ["nom"]."\"" ; }
   Echo "><TD ALIGN=\"LEFT\"><A HREF=\"javascript:ouvrefenetre('./fiche_eleve.php?id_eleve=".$el ["id_eleve"]."&code=".$_SESSION ["code"]."',470,570,'yes');\">" ;
   Echo "<IMG SRC=\"../images/fiche.png\" ALT=\"Acc&egrave;s fiche &eacute;l&egrave;ve\" BORDER=\"0\"></A>" ;
    
   // Colonne eleve
   Echo "<FONT SIZE=\"".$l ["titre"]."\"><B>" ;
   Echo "&nbsp;".Str_Replace (" ", "&nbsp;", $el ["nom"])."&nbsp;</FONT>" ;
   If (StrPos ($el ["prenoms"], " ")) { $prenom = SubStr ($el ["prenoms"], 0, StrPos ($el ["prenoms"], " ")) ; }
   Else { $prenom = $el ["prenoms"] ; }
   $prenom = StrToUpper (SubStr ($prenom, 0, 1)).StrToLower (SubStr ($prenom, 1, StrLen ($prenom)-1)) ;
   Echo "<FONT SIZE=\"-5\"><I>".$prenom."</I>&nbsp;</B></FONT>" ;
   Echo "</TD>" ;
  
   // Recherche ancienne saisie
   $vie_scol = SQL_commande ("SELECT * FROM vie_scolaire WHERE eleve='".$el ["id_eleve"]."' AND periode='".$num_p."' AND millesime='".$millesime."' LIMIT 1", $id_sql) ;
   If (SQL_nbr_lignes ($vie_scol) == 0)
    {
     $modif ["absences"] = $modif ["non_justifiees"] = $modif ["retards"] = "" ;
     $modif ["observations"] = "" ; $modif ["periode"] = $modif ["id_vie_scolaire"] = 0 ;
     $modif ["note"] = $modif ["commentaire"] = "" ;
     If ($type_saisie_cpe == 3) { $modif ["coefficient"] = $gestion [0] ; } Else { $modif ["coefficient"] = "1,0" ; }
    }
   Else
    {
     $modif = SQL_tableau_associatif ($vie_scol, "") ;
    }
   $modif ["coefficient"] = Str_Replace (".", ",", $modif ["coefficient"]) ;
   If ($module_absences == 1)
    {
     If (((integer)$modif ["absences"] == 0) And ((integer)$modif ["non_justifiees"] == 0) And ((integer)$modif ["retards"] == 0))
      {
       // Recherche la periode
       $dates_periode = SQL_commande ("SELECT debut,fin FROM periodes_classe WHERE classe='".$id_classe."' AND numero='".$periode."' AND millesime='".$millesime."' LIMIT 1", $id_sql) ;
       If (SQL_nbr_lignes ($dates_periode) == 1)
        {
         $dp = SQL_ligne_suivante ($dates_periode) ;
         // Recherche le nombre absences/non justifies/retards en demi-heure pour cet eleve
	 $unite_bulletin_absences = restaure_configuration_defaut ("MODULE_ABSENCES", "UNITES", "BUL_".$numero_saisie_abs."_".$id_util, $unite_comptabilisation) ;
         $unite_bulletin_retards = restaure_configuration_defaut ("MODULE_ABSENCES", "UNITES", "BUL_".$numero_saisie_ret."_".$id_util, -1) ;
         // Absences totales (justifiees et non justifiees)
	 $modif ["absences"] = arrondi (nombre_absences_par_filtrage ($el ["id_eleve"], Array ($dp [0],$dp [1])), $unite_bulletin_absences, 1) ;
         // Non justifiees
	 $modif ["non_justifiees"] = arrondi (nombre_absences_non_regularisees ($el ["id_eleve"], Array ($dp [0],$dp [1])), $unite_bulletin_absences, 1) ;
         // Retards
	 If ($unite_bulletin_retards == -1) { $modif ["retards"] = nombre_retards_par_filtrage ($el ["id_eleve"], Array ($dp [0],$dp [1])) ; }
	 Else { $modif ["retards"] = arrondi (nombre_retards_par_filtrage ($el ["id_eleve"], Array ($dp [0],$dp [1])), $unite_bulletin_retards, 1) ; ; }
        }
      }
    }
   If ($saisie == 1)
    {
     If ($type_saisie_cpe == 1)
      {
       Echo "<TD ALIGN=\"CENTER\">&nbsp;<INPUT TYPE=\"TEXT\" NAME=\"abs_".$i."\" VALUE=\"".$modif ["absences"]."\" SIZE=\"4\" MAXLENGTH=\"3\">&nbsp;</TD>" ;
       Echo "<TD ALIGN=\"CENTER\">&nbsp;<INPUT TYPE=\"TEXT\" NAME=\"nj_".$i."\" VALUE=\"".$modif ["non_justifiees"]."\" SIZE=\"4\" MAXLENGTH=\"3\">&nbsp;</TD>" ;
       Echo "<TD ALIGN=\"CENTER\">&nbsp;<INPUT TYPE=\"TEXT\" NAME=\"ret_".$i."\" VALUE=\"".$modif ["retards"]."\" SIZE=\"4\" MAXLENGTH=\"3\">&nbsp;</TD>" ;
       Echo "<TD ALIGN=\"LEFT\" vALIGN=\"MIDDLE\">&nbsp;<TEXTAREA ROWS=\"2\" COLS=\"50\" NAME=\"obs_".$i."\">".$modif ["observations"]."</TEXTAREA></TD>" ;
      }
     ElseIf ($type_saisie_cpe == 2)
      {
       Echo "<TD ALIGN=\"LEFT\" vALIGN=\"MIDDLE\">&nbsp;<TEXTAREA ROWS=\"2\" COLS=\"50\" NAME=\"obs_".$i."\">".$modif ["observations"]."</TEXTAREA></TD>" ;
       Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"abs_".$i."\" VALUE=\"".$modif ["absences"]."\">" ;
       Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"nj_".$i."\" VALUE=\"".$modif ["non_justifiees"]."\">" ;
       Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"ret_".$i."\" VALUE=\"".$modif ["retards"]."\">" ;
      }
     ElseIf (($type_saisie_cpe == 3) Or ($type_saisie_cpe == 4))
      {
       If ($module_absences == 1)
        {
         Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["absences"]."&nbsp;</TD>" ;
         Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["non_justifiees"]."&nbsp;</TD>" ;
         Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["retards"]."&nbsp;</TD>" ;
        }
       Echo "<TD ALIGN=\"CENTER\">&nbsp;<INPUT TYPE=\"TEXT\" NAME=\"note_".$i."\" VALUE=\"".$modif ["note"]."\" SIZE=\"7\" maxlength=\"5\" ONKEYDOWN=\"return touche_entrer(this,event);\">&nbsp;</TD>" ;
       Echo "<TD ALIGN=\"LEFT\" vALIGN=\"MIDDLE\">&nbsp;<TEXTAREA ROWS=\"2\" COLS=\"50\" NAME=\"obs_".$i."\" ONKEYDOWN=\"return touche_entrer(this,event);\">".$modif ["commentaire"]."</TEXTAREA></TD>" ;
       Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"coeff_".$i."\" VALUE=\"".$modif ["coefficient"]."\">" ;
      }
     Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"id_".$i."\" VALUE=\"".$modif ["id_vie_scolaire"]."\">" ;
     Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"repere1_".$i."\" VALUE=\"".$el ["repere1"]."\">" ;
     Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"repere2_".$i."\" VALUE=\"".$el ["repere2"]."\">" ;
     Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"id_el_".$i."\" VALUE=\"".$el ["id_eleve"]."\">" ;
     Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"coeff_".$i."\" VALUE=\"".$gestion [0]."\">" ;
     $ligne_js .= "limite_nbr_car(document.saisie.obs_".$i.");" ;
    }
   Else
    {
     If ($type_saisie_cpe == 1)
      {
       Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["absences"]."&nbsp;</TD>" ;
       Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["non_justifiees"]."&nbsp;</TD>" ;
       Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["retards"]."&nbsp;</TD>" ;
       Echo "<TD ALIGN=\"LEFT\" vALIGN=\"MIDDLE\">&nbsp;".$modif ["observations"]."&nbsp;</TD>" ;
      }
     ElseIf ($type_saisie_cpe == 2)
      {
       Echo "<TD ALIGN=\"LEFT\" vALIGN=\"MIDDLE\">&nbsp;".$modif ["observations"]."&nbsp;</TD>" ;
      }
     ElseIf (($type_saisie_cpe == 3) Or ($type_saisie_cpe == 4))
      {
       If ($module_absences == 1)
        {
         Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["absences"]."&nbsp;</TD>" ;
         Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["non_justifiees"]."&nbsp;</TD>" ;
         Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["retards"]."&nbsp;</TD>" ;
        }
       Echo "<TD ALIGN=\"CENTER\">&nbsp;".$modif ["note"]."&nbsp;</TD>" ;
       Echo "<TD ALIGN=\"LEFT\" vALIGN=\"MIDDLE\">&nbsp;".$modif ["commentaire"]."&nbsp;</TD>" ;
      }
    }
   Echo "</TR>" ;
  }

 Echo $ligne_js."repetition=setTimeout(\"test_nombre_car()\",100);}</script>" ;
 // Ligne validation
 Echo "</TABLE></TD></TR>" ;
 If ($saisie == 1)
  {
   Echo "<TR>" ;
   Echo "<TD></TD>" ;
   Echo "<TD ALIGN=\"CENTER\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"code\" value=\"".$_SESSION ["code"]."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"id_classe\" value=\"".$id_classe."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"periode\" value=\"".$num_p."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"saisie\" value=\"1\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"id_cpe\" value=\"".$id_cpe."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"numen_cpe\" value=\"".$num_cpe [0]."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"effectif\" VALUE=\"".$effectif."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"submit\" VALUE=\"Valider\">" ;
   Echo "<INPUT TYPE=\"IMAGE\" SRC=\"../images/valider.png\" BORDER=\"0\">" ;
   Echo "</TD>" ;
   Echo "</TR>" ;
  }
 Echo "</TABLE>" ;
 Echo "</FORM>" ;
 Echo "<SCRIPT type=\"text/javascript\">repetition=setTimeout(\"test_nombre_car()\",100);</SCRIPT>" ;
 Echo "</BODY></HTML>" ;
?>